package com.order.controller.sys;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;
import com.jfinal.core.Controller;
import com.jfinal.ext.route.ControllerBind;
import com.jfinal.kit.StringKit;
import com.order.config.Consts;
import com.order.model.Cuisine;

/** 
* @类名: CuisineController 
* @描述: 菜系管理控制器
* @作者: 林勃 
* @时间: 2014年4月13日 下午2:54:10 
*  
*/ 
@ControllerBind(controllerKey = Consts.SYS + "cuisine")
public class CuisineController extends Controller {

	private String message = "";
	private Cuisine cuisine  = new Cuisine();
	/** 
	* @Title: index 
	* @描述: 跳转菜系管理页面
	* @param    
	* @return void    
	* @throws 
	*/ 
	public void index(){
		render(Consts.SYS + "cuisine.htm");
	}
	
	/** 菜系查询方法，如果没有条件则查询所有*/
	public void getCuisineJson(){
		String jsonStr = "{\"NAME\":\"\",\"STATUS\":\"\",\"LAST_UPDATED_BY\":\"\",\"LAST_UPDATE_DATE\":\"\"}";
		int pagesize = (int) getParaToInt("pagesize");
		int page = (int) getParaToInt("page");
		JSONObject jsonObj = null;
		Map<String, Object> map = null;
		String condition = getPara("condition","");
		String wherejson = condition.replace("[", "").replace("]", "");	
		System.out.println("condition:"+condition);
		if (StringKit.notBlank(wherejson)) {			
			jsonObj = JSONObject.parseObject(wherejson);
			String field = jsonObj.getString("field");
			String value = jsonObj.getString("value");
			jsonStr = "{\"" + field + "\":\"" + value + "\",\"EMAIL\":\"\"}";
			jsonObj = JSONObject.parseObject(jsonStr);
		}else{
			jsonObj = JSONObject.parseObject(getPara("where", jsonStr));			
		}
		map = Cuisine.dao.getCuisineJson(page, pagesize, jsonObj);
		renderJson(map);
	}
	
	/** 保存、更新，存在则更新不存在则保存	 */
	public void saveOrUpdate() {
		cuisine.getObj(getPara("json"));
		if (cuisine.get(Cuisine.ID).equals("")) {
			if(cuisine.mySave())
				message = "保存成功!";
		} else {
			if (cuisine.myUpdate()) 
				message = "修改成功！";
		}
		setAttr("msg", "温馨提示："+message);
		renderJson();
	}
	
	/**根据菜系ID单行删除*/
	public void delete() {
		int userid = getParaToInt(0);
		if (0 < userid) {
			cuisine.deleteById(userid);
			message = "删除成功!";
		} else {
			message = "未找到该记录,请选择要删的行。";
		}
		setAttr("msg", "温馨提示：" + message);
		renderJson();
	}
	
	/** 
	* @描述: 获取菜系树
	*/ 
	public void getCuisineTree(){
		String map = Cuisine.dao.getCuisineTree();
		renderJson(map);
	}
	
	/** 
	* @Title: getCuisineCombobox 
	* @描述: 获取全部菜系的下拉框内容
	* @param    
	* @return void    
	* @throws 
	*/ 
	public void getCuisineCombobox(){
		String sql = "select c.id, c.name from cuisine c ";
		List<Cuisine> cuisines = cuisine.find(sql);
		renderJson(cuisines);
	}
}
